home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
T-COMAL Today
/
(k)td.d64
/
proc.1520plotter
< prev
next >
Wrap
Text File
|
2007-02-28
|
3KB
|
165 lines
0010 // DELETE "0:PROC.1520PLOTTER"
0020 // LIST "0:PROC.1520PLOTTER"
0030 //
0040 // ╨ROCEEDURES FOR USE WITH
0050 // ├OMMODORE 1520 PLOTTER/PRINTER
0060 // ┬Y: ╒NICOMAL,┴╨╙--┴BSTRACTED
0070 // FROM CARTRIDGE DEMO DISK #3
0080 //
0090 ╨╥╧├ USE'1520
0100 XCOR:=0; YCOR:=0
0110 TWOPI:=2*╨╔
0120 RAD:=╨╔/180
0130 BLACK:=0
0140 BLUE:=1
0150 GREEN:=2
0160 RED:=3
0170 HOME
0180 PENCOLOR(BLACK)
0190 SETHEADING(0)
0200 DOWN:=╘╥╒┼
0210 ┼╬─╨╥╧├ USE'1520
0220
0230 //--- LOW LEVEL I/O ---//
0240
0250 ╨╥╧├ TALK(SA$,TEXT$)
0260 ╧╨┼╬ ╞╔╠┼ 100,"U6:/S"+SA$,╫╥╔╘┼
0270 ╨╥╔╬╘ ╞╔╠┼ 100: TEXT$
0280 ├╠╧╙┼ ╞╔╠┼ 100
0290 ┼╬─╨╥╧├ TALK
0300
0310 //--- X-Y GRAPHICS ---//
0320
0330 ╨╥╧├ PLOTTEXT(X,Y,TEXT$)
0340 MOVETO(X,Y)
0350 ╔╞ DOWN ╘╚┼╬ TALK("0",TEXT$)
0360 MOVETO(X,Y)
0370 ┼╬─╨╥╧├ PLOTTEXT
0380
0390 ╨╥╧├ MOVETO(X,Y)
0400 XCOR:=X; YCOR:=Y
0410 TALK("1","M"+╙╘╥$(╔╬╘(X))+" "+╙╘╥$(╔╬╘(Y)))
0420 ┼╬─╨╥╧├ MOVETO
0430
0440 ╨╥╧├ MOVE(X,Y)
0450 MOVETO(XCOR+X,YCOR+Y)
0460 ┼╬─╨╥╧├ MOVE
0470
0480 ╨╥╧├ DRAWTO(X,Y)
0490 ╔╞ DOWN ╘╚┼╬
0500 XCOR:=X; YCOR:=Y
0510 TALK("1","D"+╙╘╥$(╔╬╘(X))+" "+╙╘╥$(╔╬╘(Y)))
0520 ┼╠╙┼
0530 MOVETO(X,Y)
0540 ┼╬─╔╞
0550 ┼╬─╨╥╧├ DRAWTO
0560
0570 ╨╥╧├ DRAW(X,Y)
0580 DRAWTO(XCOR+X,YCOR+Y)
0590 ┼╬─╨╥╧├ DRAW
0600
0610 ╨╥╧├ HOME
0620 TALK("1","H")
0630 ┼╬─╨╥╧├ HOME
0640
0650 ╨╥╧├ ARC(X,Y,R,START,BUE)
0660 V:=START*RAD; BUE:=BUE*RAD
0670 ANTALV:=╔╬╘(BUE*16)
0680 DV:=BUE/ANTALV
0690 MOVETO(X+R*├╧╙(V),Y+R*╙╔╬(V))
0700 ╞╧╥ I#:=1 ╘╧ ANTALV ─╧
0710 V:+DV
0720 DRAWTO(X+R*├╧╙(V),Y+R*╙╔╬(V))
0730 ┼╬─╞╧╥ I#
0740 ┼╬─╨╥╧├ ARC
0750
0760 ╨╥╧├ CIRCLE(X,Y,R)
0770 ARC(X,Y,R,0,360)
0780 ┼╬─╨╥╧├ CIRCLE
0790
0800 ╨╥╧├ PENCOLOR(C)
0810 COLOR:=C
0820 TALK("2",╙╘╥$(COLOR))
0830 ┼╬─╨╥╧├ PENCOLOR
0840
0850 ╨╥╧├ TEXTSTYLE(LINELENGTH,DIREC#)
0860 ╔╞ LINELENGTH<=10 ╘╚┼╬
0870 TALK("3","3")
0880 ┼╠╔╞ LINELENGTH<=20 ╘╚┼╬
0890 TALK("3","2")
0900 ┼╠╔╞ LINELENGTH<=40 ╘╚┼╬
0910 TALK("3","1")
0920 ┼╠╙┼
0930 TALK("3","0")
0940 ┼╬─╔╞
0950 TALK("4",╙╘╥$(DIREC#))
0960 ┼╬─╨╥╧├ TEXTSTYLE
0970
0980 ╨╥╧├ LINETYPE(T#)
0990 TALK("5",╙╘╥$(T#))
1000 ┼╬─╨╥╧├ LINETYPE
1010
1020 ╨╥╧├ SELECTFONT(F#)
1030 TALK("6",╙╘╥$(F#))
1040 ┼╬─╨╥╧├ SELECTFONT
1050
1060 ╨╥╧├ RESET1520
1070 TALK("7","")
1080 ┼╬─╨╥╧├ RESET1520
1090
1100 //--- TURTLE GRAPHICS ---//
1110
1120 ╨╥╧├ SETHEADING(A)
1130 ╫╚╔╠┼ A<0 ─╧ A:+360
1140 ╫╚╔╠┼ A>=360 ─╧ A:-360
1150 HEADING:=A; A:=(90-A)*RAD
1160 COSA:=├╧╙(A); SINA:=╙╔╬(A)
1170 ┼╬─╨╥╧├ SETHEADING
1180
1190 ╨╥╧├ LEFT(A)
1200 SETHEADING(HEADING-A)
1210 ┼╬─╨╥╧├ LEFT
1220
1230 ╨╥╧├ RIGHT(A)
1240 SETHEADING(HEADING+A)
1250 ┼╬─╨╥╧├ RIGHT
1260
1270 ╨╥╧├ FORWARD(D)
1280 DRAW(D*COSA,D*SINA)
1290 ┼╬─╨╥╧├ FORWARD
1300
1310 ╨╥╧├ BACK(D)
1320 DRAW(-D*COSA,-D*SINA)
1330 ┼╬─╨╥╧├ BACK
1340
1350 ╨╥╧├ PENDOWN
1360 DOWN:=╘╥╒┼
1370 ┼╬─╨╥╧├ PENDOWN
1380
1390 ╨╥╧├ PENUP
1400 DOWN:=╞┴╠╙┼
1410 ┼╬─╨╥╧├ PENUP
1420
1430 ╨╥╧├ SETXY(X,Y)
1440 DRAWTO(X,Y)
1450 ┼╬─╨╥╧├ SETXY
1460
1470 ╨╥╧├ SHOWTURTLE
1480 ┼╬─╨╥╧├ SHOWTURTLE
1490
1500 ╨╥╧├ HIDETURTLE
1510 ┼╬─╨╥╧├ HIDETURTLE
1520
1530 ╨╥╧├ TEXTSCREEN
1540 ┼╬─╨╥╧├ TEXTSCREEN
1550
1560 ╨╥╧├ GRAPHICSCREEN(MODE)
1570 ┼╬─╨╥╧├ GRAPHICSCREEN
1580
1590 ╨╥╧├ FULLSCREEN
1600 ┼╬─╨╥╧├ FULLSCREEN
1610
1620 ╨╥╧├ SPLITSCREEN
1630 ┼╬─╨╥╧├ SPLITSCREEN
1640